(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Rewrite Strategy: FULL

(1) DecreasingLoopProof (EQUIVALENT transformation)

The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
f(no(x)) →+ no(f(x))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0].
The pumping substitution is [x / no(x)].
The result substitution is [ ].

(2) BOUNDS(n^1, INF)

(3) RenamingProof (EQUIVALENT transformation)

Renamed function symbols to avoid clashes with predefined symbol.

(4) Obligation:

Runtime Complexity Relative TRS:
The TRS R consists of the following rules:

active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

S is empty.
Rewrite Strategy: FULL

(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)

Infered types.

(6) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

(7) OrderProof (LOWER BOUND(ID) transformation)

Heuristically decided to analyse the following defined symbols:
active, f, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(8) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
f, active, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(9) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Induction Base:
f(gen_mark:no:X:y:c3_0(+(1, 0)))

Induction Step:
f(gen_mark:no:X:y:c3_0(+(1, +(n5_0, 1)))) →RΩ(1)
mark(f(gen_mark:no:X:y:c3_0(+(1, n5_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(10) Complex Obligation (BEST)

(11) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
active, chk, mat, tp

They will be analysed ascendingly in the following order:
active = f
active < chk
f < chk
f < mat
f < tp
mat < chk
chk < tp
mat < tp

(12) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol active.

(13) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
mat, chk, tp

They will be analysed ascendingly in the following order:
mat < chk
chk < tp
mat < tp

(14) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol mat.

(15) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
chk, tp

They will be analysed ascendingly in the following order:
chk < tp

(16) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol chk.

(17) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

The following defined symbols remain to be analysed:
tp

(18) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol tp.

(19) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

No more defined symbols left to analyse.

(20) LowerBoundsProof (EQUIVALENT transformation)

The lowerbound Ω(n1) was proven with the following lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

(21) BOUNDS(n^1, INF)

(22) Obligation:

TRS:
Rules:
active(f(x)) → mark(f(f(x)))
chk(no(f(x))) → f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
mat(f(x), f(y)) → f(mat(x, y))
chk(no(c)) → active(c)
mat(f(x), c) → no(c)
f(active(x)) → active(f(x))
f(no(x)) → no(f(x))
f(mark(x)) → mark(f(x))
tp(mark(x)) → tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Types:
active :: mark:no:X:y:c → mark:no:X:y:c
f :: mark:no:X:y:c → mark:no:X:y:c
mark :: mark:no:X:y:c → mark:no:X:y:c
chk :: mark:no:X:y:c → mark:no:X:y:c
no :: mark:no:X:y:c → mark:no:X:y:c
mat :: mark:no:X:y:c → mark:no:X:y:c → mark:no:X:y:c
X :: mark:no:X:y:c
y :: mark:no:X:y:c
c :: mark:no:X:y:c
tp :: mark:no:X:y:c → tp
hole_mark:no:X:y:c1_0 :: mark:no:X:y:c
hole_tp2_0 :: tp
gen_mark:no:X:y:c3_0 :: Nat → mark:no:X:y:c

Lemmas:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_mark:no:X:y:c3_0(0) ⇔ c
gen_mark:no:X:y:c3_0(+(x, 1)) ⇔ mark(gen_mark:no:X:y:c3_0(x))

No more defined symbols left to analyse.

(23) LowerBoundsProof (EQUIVALENT transformation)

The lowerbound Ω(n1) was proven with the following lemma:
f(gen_mark:no:X:y:c3_0(+(1, n5_0))) → *4_0, rt ∈ Ω(n50)

(24) BOUNDS(n^1, INF)